home *** CD-ROM | disk | FTP | other *** search
/ VRML 2.0 Sourcebook (2nd Edition) / VRML 2.0 Sourcebook CD [md5 fed90f4f9c39d5a60d477058775c7e21].iso / book / unix / ch30 / 30fig03.wrl < prev    next >
Text File  |  1996-09-23  |  1KB  |  57 lines

  1. #VRML V2.0 utf8
  2. # The VRML 2.0 Sourcebook
  3. # Copyright [1997] By
  4. # Andrea L. Ames, David R. Nadeau, and John L. Moreland
  5. Group {
  6.     children [
  7.     # Background
  8.         Background {
  9.             skyColor    [ 1.0 0.0 0.0,  1.0 0.4 0.0,  1.0 1.0 0.0 ]
  10.             skyAngle    [ 1.309, 1.571 ]
  11.             groundColor [ 0.1 0.1 0.0,  0.5 0.25 0.2,  0.6 0.6 0.2 ]
  12.             groundAngle [ 1.309, 1.571 ]
  13.         },
  14.     # On-off switch
  15.         Shape {
  16.             appearance Appearance {
  17.                 material Material {
  18.                     diffuseColor 1.0 0.3 0.3
  19.                 }
  20.             }
  21.             geometry Sphere { }
  22.         },
  23.         DEF Touch TouchSensor { },
  24.     # Sound
  25.         Sound {
  26.             source DEF Audio AudioClip {
  27.                 url "willow1.wav"
  28.                 loop TRUE
  29.                 stopTime 1.0
  30.             }
  31.         },
  32.     # Filters
  33.         DEF Filter Script {
  34.             url "javascript:
  35.                 function set_boolean( bool, eventTime ) {
  36.                     if ( bool == true ) { true_changed  = true; }
  37.                     else                { false_changed = true; }
  38.                 }"
  39.             eventIn  SFBool set_boolean
  40.             eventOut SFBool true_changed
  41.             eventOut SFBool false_changed
  42.         },
  43.         DEF TimeFilter Script {
  44.             url "javascript:
  45.                 function set_boolean( bool, timeStamp ) {
  46.                     eventTime = timeStamp;
  47.                 }"
  48.             eventIn  SFBool set_boolean
  49.             eventOut SFTime eventTime
  50.         }
  51.     ]
  52. }
  53. ROUTE Touch.isActive       TO Filter.set_boolean
  54. ROUTE Filter.true_changed  TO TimeFilter.set_boolean
  55. ROUTE TimeFilter.eventTime TO Audio.set_startTime
  56. ROUTE Touch.touchTime      TO Audio.set_stopTime
  57.